package com.atguigu.exam.service;

import com.atguigu.exam.entity.Category;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface CategoryService extends IService<Category> {

    /**
     * 获取所有题目分类列表，包含每个分类下的题目数量统计
     *
     * @return
     */
    List<Category> getCategoriesWithCount();

    /**
     * 获取题目分类的树形层级结构，用于前端树形组件展示
     *
     * @return
     */
    List<Category> getCategoryTree();

    /**
     * 创建新的题目分类
     *
     * @param category
     */
    void saveCategory(Category category);

    /**
     * 更新题目分类
     *
     * @param category
     */
    void updateCategoryById(Category category);

    /**
     * 删除题目分类
     *
     * @param id
     */
    void removeCategoryById(Long id);
}